package br.com.jmed.model;

import java.io.Serializable;
import javax.persistence.*;

import java.util.Date;

/**
 * The persistent class for the ocorrencias database table.
 * 
 */
@Entity
@Table(name = "ocorrencias")
@NamedQueries({ @NamedQuery(name = "Ocorrencia.findByProntuario", query = "SELECT o FROM Ocorrencia AS o WHERE o.prontuario.codigo = :prontuario") })
public class Ocorrencia implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	private Integer codigo;

	@Temporal(TemporalType.DATE)
	private Date data;

	@Temporal(TemporalType.DATE)
	@Column(name = "data_alteracao")
	private Date dataAlteracao;

	@Temporal(TemporalType.DATE)
	@Column(name = "data_inclusao")
	private Date dataInclusao;

	private String descricao;
	
	private Integer tipo;

	// bi-directional many-to-one association to Prontuario
	@ManyToOne
	@JoinColumn(name = "prontuario")
	private Prontuario prontuario;

	@ManyToOne
	@JoinColumn(name = "tipo",insertable=false,updatable=false)
	private Tipo tipoOcorencia;
	
	// uni-directional many-to-one association to Usuario
	@ManyToOne
	@JoinColumn(name = "usuario_alteracao")
	private Usuario usuarioAlteracao;

	// uni-directional many-to-one association to Usuario
	@ManyToOne
	@JoinColumn(name = "usuario_inclusao")
	private Usuario usuarioInclusao;

	public Ocorrencia() {
	}

	public Integer getCodigo() {
		return this.codigo;
	}

	public void setCodigo(Integer codigo) {
		this.codigo = codigo;
	}

	public Date getData() {
		return this.data;
	}

	public void setData(Date data) {
		this.data = data;
	}

	public Date getDataAlteracao() {
		return this.dataAlteracao;
	}

	public void setDataAlteracao(Date dataAlteracao) {
		this.dataAlteracao = dataAlteracao;
	}

	public Date getDataInclusao() {
		return this.dataInclusao;
	}

	public void setDataInclusao(Date dataInclusao) {
		this.dataInclusao = dataInclusao;
	}

	public String getDescricao() {
		return this.descricao;
	}

	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}

	public Prontuario getProntuario() {
		return prontuario;
	}

	public void setProntuario(Prontuario prontuario) {
		this.prontuario = prontuario;
	}

	public Usuario getUsuarioAlteracao() {
		return usuarioAlteracao;
	}

	public void setUsuarioAlteracao(Usuario usuarioAlteracao) {
		this.usuarioAlteracao = usuarioAlteracao;
	}

	public Usuario getUsuarioInclusao() {
		return usuarioInclusao;
	}

	public void setUsuarioInclusao(Usuario usuarioInclusao) {
		this.usuarioInclusao = usuarioInclusao;
	}

	public Integer getTipo() {
		return tipo;
	}

	public void setTipo(Integer tipo) {
		this.tipo = tipo;
	}

	public Tipo getTipoOcorencia() {
		return tipoOcorencia;
	}

	public void setTipoOcorencia(Tipo tipoOcorencia) {
		this.tipoOcorencia = tipoOcorencia;
	}
	
	
	

}